#include "ABMMaterial.h"

 ABMMaterial::ABMMaterial(std::string nArchivo, unsigned int tamanioBucket){
	this->nArchivo=nArchivo;
	this->tamanioBucket=tamanioBucket;
	hashMaterial=new Hash(nArchivo,tamanioBucket);
}

 ABMMaterial::~ABMMaterial(){

}

bool ABMMaterial::alta(unsigned int id, string descripcion){
	Key key = Key(id,descripcion);
	return hashMaterial->insertar(key);
}

bool ABMMaterial::baja(unsigned int id){
	Key key = Key(id,"");
	return hashMaterial->eliminar(key);
}

bool ABMMaterial::modificacion(unsigned int id, string descripcion){
	Key key = Key(id,descripcion);
	return hashMaterial->modificar(key);
}

/*si lo encuentra devuelve el valor de Key con los atributos separados por ; */

string ABMMaterial::buscar(unsigned int id){
	Key key = Key(id,"");
	if (hashMaterial->existe(key))
	return Util::intToString(id) + ";" + hashMaterial->buscar(key);
	else return "";
}

vector<string>  ABMMaterial::listar(unsigned int maxid){
	vector<string> vector;
	for (unsigned int i=0;i<=maxid;i++){
		Key key=Key(i,"");
		if (hashMaterial->existe(key)){
			string valorVector=Util::uIntToString(i) + ";" + hashMaterial->buscar(key);
			vector.push_back(valorVector);
		}
	}
	return vector;
}





